#include<iostream>

const int size =10;

class ArrayStack
{

private:
   
    int Stack[size];
    int top;
public:
    ArrayStack():top(0){}
    // 入栈
    void push(int data)
    {
        if(top == size)
        {
            std::cout<<"栈满!\n";
            return;
        }
        Stack[top++] = data;
    }

    void Pop()
    {
        if(top == 0)
        {
            std::cout<<"栈空!\n";
            return ;
        }
        top--;

    }

    // 获取栈顶元素
    int* GetTop()
    {
        if(top == 0)
        {
            return nullptr;
        }
        return Stack + top -1;
    }


    bool IsEmpty()
    {
        return top == 0;
    }

};







// int main()
// {

//     ArrayStack s;
//     for(int i=0;i<10;i++)
//     {
//         s.push(i+1);
//     }

//     while (!s.IsEmpty())
//     {
//         std::cout<<*s.GetTop()<<" ";  //显示栈顶元素
//         s.Pop(); //出栈
//     }
    
//     std::cout<<std::endl;




//     return 0;
// }
